package com.ldn.common.basic.dispose.bo;

import lombok.Data;

import java.io.Serializable;

/**
 * Mqtt 客户端信息
 * <p>防止信息在多个模块中传输问题</p>
 *
 * @author 李大牛家的牛 (scafel@163.com)
 * @product serverless
 * @className MqttClientInfo
 * @createDate 2025/2/11 - 13:39
 * @description Mqtt 客户端信息
 **/
@Data
public class MqttClientInfo implements Serializable {
    /**
     * 客户端 Id
     */
    private String clientId;
    /**
     * 用户名
     */
    private String username;
    /**
     * keep alive
     */
    private long keepAlive;
    /**
     * 连接成功
     */
    private boolean connected;
    /**
     * 协议名称
     */
    private String protoName;
    /**
     * 协议版本
     */
    private int protoVer;
    /**
     * 协议全名
     */
    private String protoFullName;
    /**
     * ip
     */
    private String ipAddress;
    /**
     * 端口
     */
    private int port;
    /**
     * 连接成功时间
     */
    private Long connectedAt;
    /**
     * 创建时间
     */
    private long createdAt;
    /**
     * 解码队列长度
     */
    private int decodeQueueSize;
    /**
     * 业务处理队列长度
     */
    private int handlerQueueSize;
    /**
     * 发送队列长度
     */
    private int sendQueueSize;
}
